Linux fork()返回值说明 |
您所在的位置:网站首页 › c语言 exec函数返回值 › Linux fork()返回值说明 |
对于主进程 fork()返回新建的子进程ID, 子进程fork()返回0
http://blog.chinaunix.net/u1/53053/showart_425189.html 进程配置有唯一的进程控制块PCB,由proc结构和usr结构组成。 下面依次介绍进程相关的系统调用: 1:fork()函数 创建一个子进程 #include /* 提供类型pid_t的定义 */ #include /* 提供函数的定义 */ pid_t fork(void);只看fork的名字,可能难得有几个人可以猜到它是做什么用的。fork系统调用的作用是复制一个进程。当一个进程调用它,完成后就出现两个几乎一模一样的进程,我们也由此得到了一个新进程。据说fork的名字就是来源于这个与叉子的形状颇有几分相似的工作流程。 在Linux 中,创造新进程的方法只有一个,就是我们正在介绍的fork。其他一些库函数,如system(),看起来似乎它们也能创建新的进程,如果能看一下它们的源码就会明白,它们实际上也在内部调用了fork。包括我们在命令行下运行应用程序,新的进程也是由shell调用fork制造出来的。fork有一些很有意思的特征,下面就让我们通过一个小程序来对它有更多的了解。 /* fork_test.c */ #include #inlcude main() { pid_t pid; /*此时仅有一个进程*/ pid=fork(); /*此时已经有两个进程在同时运行*/ if(pid |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |